package com.cq.hd.member.api.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class MerchantEnterApplyDto implements Serializable {

    private String applyIp;

    @ApiModelProperty(value = "openid")
    private String openid;

    @ApiModelProperty(value = "入驻邀请码")
    private String settleCode;

    @ApiModelProperty(value = "商户名称")
    private String merchantName;

    @ApiModelProperty(value = "商户简称")
    private String merchantShortName;

    @ApiModelProperty(value = "公司类型，对公账户结算必传(1：政府机构，2：国营企业，3：私营企业，4：外资企业，5：个体工商户，6：其它组织，7：事业单位)")
    private Integer companyType;

    @ApiModelProperty(value = "商户logo")
    private String logo;

//    @ApiModelProperty(value = "商户登录密码")
//    private String loginPass;

    @ApiModelProperty(value = "所属行业一级id")
    private Long mccOneId;

    @ApiModelProperty(value = "所属行业二级id")
    private Long mccTwoId;

    @ApiModelProperty(value = "所属行业code")
    private String mcc;

    @ApiModelProperty(value = "所属行业名称")
    private String mccName;

    @ApiModelProperty(value = "营业执照，对公账户结算必传")
    private String licensePic;

    @ApiModelProperty(value = "营业执照图片，对公账户结算必传")
    private String licensePicUrl;

    @ApiModelProperty(value = "营业执照编号，对公账户结算必传")
    private String licenseCode;

    @ApiModelProperty(value = "营业执照有效期类型，对公账户结算必传，0：非长期有效 ,1：长期有效")
    private Integer licenseValidityType;

    @ApiModelProperty(value = "营业执照有效期开始日期，对公账户结算必传，格式：yyyy-MM-dd")
    private String licenseBeginDate;

    @ApiModelProperty(value = "营业执照有效期截止日期，对公账户结算必传，格式：yyyy-MM-dd")
    private String licenseEndDate;

    @ApiModelProperty(value = "成立时间，对公账户结算必传，格式：yyyy-MM-dd")
    private String foundDate;

    @ApiModelProperty(value = "注册资本，对公账户结算必传")
    private BigDecimal regCapital;

    @ApiModelProperty(value = "经营范围，对公账户结算必传")
    private String businessScope;

    @ApiModelProperty(value = "注册省份code，对公账户结算必传")
    private String regProvinceCode;

    @ApiModelProperty(value = "注册省份名称，对公账户结算必传")
    private String regProvinceName;

    @ApiModelProperty(value = "注册市code，对公账户结算必传")
    private String regCityCode;

    @ApiModelProperty(value = "注册市名称，对公账户结算必传")
    private String regCityName;

    @ApiModelProperty(value = "注册区县code，对公账户结算必传")
    private String regCountyCode;

    @ApiModelProperty(value = "注册区县名称，对公账户结算必传")
    private String regCountyName;

    @ApiModelProperty(value = "注册详细地址，对公账户结算必传")
    private String regAddress;

    @ApiModelProperty(value = "经营省份code")
    private String businessProvinceCode;

    @ApiModelProperty(value = "经营省份名称")
    private String businessProvinceName;

    @ApiModelProperty(value = "经营市code")
    private String businessCityCode;

    @ApiModelProperty(value = "经营市名称")
    private String businessCityName;

    @ApiModelProperty(value = "经营区县code")
    private String businessCountyCode;

    @ApiModelProperty(value = "经营区县名称")
    private String businessCountyName;

    @ApiModelProperty(value = "经营详细地址")
    private String businessAddress;

    @ApiModelProperty(value = "法人姓名，对公账户结算必传")
    private String legalName;

    @ApiModelProperty(value = "法人证件类型")
    private String legalCertType;

    @ApiModelProperty(value = "法人证件号码")
    private String legalCertNo;

    @ApiModelProperty(value = "法人证件有效期类型:0：非长期有效 ,1：长期有效")
    private Integer legalCertValidityType;

    @ApiModelProperty(value = "法人证件有效期开始日期，格式：yyyy-MM-dd")
    private String legalCertBeginDate;

    @ApiModelProperty(value = "法人证件有效期截止日期，格式：yyyy-MM-dd")
    private String legalCertEndDate;

    @ApiModelProperty(value = "法人手机号，对公账户结算必传")
    private String legalMobileNo;

    @ApiModelProperty(value = "法人身份证地址")
    private String legalAddr;

    @ApiModelProperty(value = "法人身份证人像面")
    private String legalCertFrontPic;

    @ApiModelProperty(value = "法人身份证人像面图片地址")
    private String legalCertFrontPicUrl;

    @ApiModelProperty(value = "法人身份证国徽面")
    private String legalCertBackPic;

    @ApiModelProperty(value = "法人身份证国徽面图片地址")
    private String legalCertBackPicUrl;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "联系人手机号")
    private String contactMobileNo;

    @ApiModelProperty(value = "联系人电子邮箱")
    private String contactEmail;

    @ApiModelProperty(value = "联系人身份证号")
    private String contactCertNo;

    @ApiModelProperty(value = "客服电话")
    private String customerMobile;

    @ApiModelProperty(value = "系统管理员手机号")
    private String mobile;

    @ApiModelProperty(value = "线下经营-门头照")
    private String storeHeaderPic;

    @ApiModelProperty(value = "线下经营-门头照图片地址")
    private String storeHeaderPicUrl;

    @ApiModelProperty(value = "线下经营-内景照")
    private String storeIndoorPic;

    @ApiModelProperty(value = "线下经营-内景照图片地址")
    private String storeIndoorPicUrl;

    @ApiModelProperty(value = "线下经营-收银台")
    private String storeCashierDeskPic;

    @ApiModelProperty(value = "线下经营-收银台图片地址")
    private String storeCashierDeskPicUrl;

    @ApiModelProperty(value = "结算账户类型，对公账户结算必传，0：对公账户 1：对私法人账户 2：对私非法人账户")
    private Integer cardType;

    @ApiModelProperty(value = "开户许可证，对公账户结算必传")
    private String regAcctPic;

    @ApiModelProperty(value = "开户许可证图片地址，对公账户结算必传")
    private String regAcctPicUrl;

    @ApiModelProperty(value = "开户许可证核准号，对公账户结算必传")
    private String openLicenceNo;

    @ApiModelProperty(value = "结算账户名/账户名称")
    private String cardName;

    @ApiModelProperty(value = "结算账号/结算银行卡号/银行账号")
    private String cardNo;

    @ApiModelProperty(value = "银行编号")
    private String bankCode;

    @ApiModelProperty(value = "银行所在地省份code")
    private String bankProvinceCode;

    @ApiModelProperty(value = "银行所在地省份名称")
    private String bankProvinceName;

    @ApiModelProperty(value = "银行所在地市code")
    private String bankCityCode;

    @ApiModelProperty(value = "银行所在地市名称")
    private String bankCityName;

    @ApiModelProperty(value = "银行所在地区县code")
    private String bankCountyCode;

    @ApiModelProperty(value = "银行所在地区县名称")
    private String bankCountyName;

    @ApiModelProperty(value = "联行号，对公账户结算必传")
    private String branchCode;

    @ApiModelProperty(value = "持卡人证件类型")
    private String certType;

    @ApiModelProperty(value = "持卡人证件号码")
    private String certNo;

    @ApiModelProperty(value = "持卡人证件有效期类型:0：非长期有效 ,1：长期有效")
    private Integer certValidityType;

    @ApiModelProperty(value = "持卡人证件有效期开始日期，格式：yyyy-MM-dd")
    private String certBeginDate;

    @ApiModelProperty(value = "持卡人证件有效期截止日期，格式：yyyy-MM-dd")
    private String certEndDate;

    @ApiModelProperty(value = "结算卡正面")
    private String settleCardFrontPic;

    @ApiModelProperty(value = "结算卡正面图片地址")
    private String settleCardFrontPicUrl;

    @ApiModelProperty(value = "结算人身份证人像面，对公账户结算必传")
    private String settleCertFrontPic;

    @ApiModelProperty(value = "结算人身份证人像面图片地址，对公账户结算必传")
    private String settleCertFrontPicUrl;

    @ApiModelProperty(value = "结算人身份证国徽面，对公账户结算必传")
    private String settleCertBackPic;

    @ApiModelProperty(value = "结算人身份证国徽面图片地址，对公账户结算必传")
    private String settleCertBackPicUrl;

    @ApiModelProperty(value = "授权委托书，对公账户结算必传(对私非法人结算必填)")
    private String authEnturstPic;

    @ApiModelProperty(value = "授权委托书，对公账户结算必传(对私非法人结算必填)图片地址")
    private String authEnturstPicUrl;

    @ApiModelProperty(value = "银行卡绑定手机号")
    private String mp;

    @ApiModelProperty(value = "账户结算类型(1-个人账户结算，2-对公账户结算)")
    private Integer settlementType;

}
